<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.11"/>
<title>Kinova_API: kinova::KinovaComm Class Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { init_search(); });
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="kinova_logo-429x148.jpg"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Kinova_API
   &#160;<span id="projectnumber">v5.02.00</span>
   </div>
   <div id="projectbrief">ROS communication with Kinova API</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.11 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespacekinova.html">kinova</a></li><li class="navelem"><a class="el" href="classkinova_1_1_kinova_comm.html">KinovaComm</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="classkinova_1_1_kinova_comm-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">kinova::KinovaComm Class Reference</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:ad2053ca613caad670cd81d3bb246bd56"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad2053ca613caad670cd81d3bb246bd56"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>KinovaComm</b> (const ros::NodeHandle &amp;node_handle, boost::recursive_mutex &amp;api_mutex, const bool is_movement_on_start)</td></tr>
<tr class="separator:ad2053ca613caad670cd81d3bb246bd56"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a57d037030b86f8137a87aeeb1a2d7392"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a57d037030b86f8137a87aeeb1a2d7392"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a57d037030b86f8137a87aeeb1a2d7392">stopAPI</a> ()</td></tr>
<tr class="separator:a57d037030b86f8137a87aeeb1a2d7392"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcff84d63a2257337d85bf117a630bd3"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abcff84d63a2257337d85bf117a630bd3"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#abcff84d63a2257337d85bf117a630bd3">startAPI</a> ()</td></tr>
<tr class="separator:abcff84d63a2257337d85bf117a630bd3"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac6646ee050da0fdb997682549a147425"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ac6646ee050da0fdb997682549a147425">isStopped</a> ()</td></tr>
<tr class="separator:ac6646ee050da0fdb997682549a147425"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ce3f14fd19836cdd81a23b801f7580d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a0ce3f14fd19836cdd81a23b801f7580d">startForceControl</a> ()</td></tr>
<tr class="separator:a0ce3f14fd19836cdd81a23b801f7580d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a14b6ac4689679861b1d49c1ec7618a3d"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14b6ac4689679861b1d49c1ec7618a3d"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a14b6ac4689679861b1d49c1ec7618a3d">stopForceControl</a> ()</td></tr>
<tr class="separator:a14b6ac4689679861b1d49c1ec7618a3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab26dcd22418a15ce913470fc36c65aaa"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ab26dcd22418a15ce913470fc36c65aaa">robotType</a> () const </td></tr>
<tr class="separator:ab26dcd22418a15ce913470fc36c65aaa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab03d8c09980af8baf1b4989f99060a64"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ab03d8c09980af8baf1b4989f99060a64">getQuickStatus</a> (QuickStatus &amp;quick_status)</td></tr>
<tr class="separator:ab03d8c09980af8baf1b4989f99060a64"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a28827e27b664ab0bcecc7acfd67de728"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a28827e27b664ab0bcecc7acfd67de728">getConfig</a> (ClientConfigurations &amp;config)</td></tr>
<tr class="separator:a28827e27b664ab0bcecc7acfd67de728"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abe6e19c315ba59ebbe4267ee3a55d79b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#abe6e19c315ba59ebbe4267ee3a55d79b">setConfig</a> (const ClientConfigurations &amp;config)</td></tr>
<tr class="separator:abe6e19c315ba59ebbe4267ee3a55d79b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a05a987bc5391f9640342ccbbdb7e9f88"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a05a987bc5391f9640342ccbbdb7e9f88">printConfig</a> (const ClientConfigurations &amp;config)</td></tr>
<tr class="separator:a05a987bc5391f9640342ccbbdb7e9f88"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac1d8565f5df7e81e8eb32bacc2e21458"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ac1d8565f5df7e81e8eb32bacc2e21458">getControlType</a> (int &amp;controlType)</td></tr>
<tr class="separator:ac1d8565f5df7e81e8eb32bacc2e21458"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a729dcea644c385f456e9450fca0c1f3d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a729dcea644c385f456e9450fca0c1f3d">getGeneralInformations</a> (GeneralInformations &amp;general_info)</td></tr>
<tr class="separator:a729dcea644c385f456e9450fca0c1f3d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af372b65b4fbbe6e18d0d001f0d5df352"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#af372b65b4fbbe6e18d0d001f0d5df352">getSensorsInfo</a> (SensorsInfo &amp;sensor_Info)</td></tr>
<tr class="separator:af372b65b4fbbe6e18d0d001f0d5df352"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a5eda4e03b8005276d55ed18b8cf33ad8"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a5eda4e03b8005276d55ed18b8cf33ad8">getForcesInfo</a> (ForcesInfo &amp;force_Info)</td></tr>
<tr class="separator:a5eda4e03b8005276d55ed18b8cf33ad8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afbc128356f963865f261aa3b89d2bdce"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#afbc128356f963865f261aa3b89d2bdce">getGripperStatus</a> (Gripper &amp;gripper_status)</td></tr>
<tr class="separator:afbc128356f963865f261aa3b89d2bdce"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:add02cfb95e2e604493e8245db9a104d7"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="add02cfb95e2e604493e8245db9a104d7"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#add02cfb95e2e604493e8245db9a104d7">setAngularControl</a> ()</td></tr>
<tr class="separator:add02cfb95e2e604493e8245db9a104d7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a157688ea643cd26f7dd3047dce670b37"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a157688ea643cd26f7dd3047dce670b37">getAngularCommand</a> (AngularPosition &amp;angular_command)</td></tr>
<tr class="separator:a157688ea643cd26f7dd3047dce670b37"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aaa81bff314867c02f03ae1ab336ee900"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#aaa81bff314867c02f03ae1ab336ee900">getJointAngles</a> (<a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;angles)</td></tr>
<tr class="separator:aaa81bff314867c02f03ae1ab336ee900"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:adb803410fd256db8808e175f159f9d26"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#adb803410fd256db8808e175f159f9d26">setJointAngles</a> (const <a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;angles, int timeout=0, bool push=true)</td></tr>
<tr class="separator:adb803410fd256db8808e175f159f9d26"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acf0a1639b136680cc3a0f60151ef591d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#acf0a1639b136680cc3a0f60151ef591d">getJointVelocities</a> (<a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;vels)</td></tr>
<tr class="separator:acf0a1639b136680cc3a0f60151ef591d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae3416267240f582bf27792f87570aea9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ae3416267240f582bf27792f87570aea9">setJointVelocities</a> (const AngularInfo &amp;joint_vel)</td></tr>
<tr class="separator:ae3416267240f582bf27792f87570aea9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8fa09e78782a3c544f5b3e1147bfb32c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a8fa09e78782a3c544f5b3e1147bfb32c">getJointAccelerations</a> (AngularAcceleration &amp;joint_acc)</td></tr>
<tr class="separator:a8fa09e78782a3c544f5b3e1147bfb32c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3b8024e556478860b32805c8b9919228"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a3b8024e556478860b32805c8b9919228">getJointTorques</a> (<a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;tqs)</td></tr>
<tr class="separator:a3b8024e556478860b32805c8b9919228"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a882f0f7fd5823f49d563129deba613ea"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a882f0f7fd5823f49d563129deba613ea">getJointCurrent</a> (AngularPosition &amp;anguler_current)</td></tr>
<tr class="separator:a882f0f7fd5823f49d563129deba613ea"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aba0b79eaa95462aa18cdf862d57f39d2"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#aba0b79eaa95462aa18cdf862d57f39d2">setJointTorqueMinMax</a> (AngularInfo &amp;min, AngularInfo &amp;max)</td></tr>
<tr class="separator:aba0b79eaa95462aa18cdf862d57f39d2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8a0a0703b1a433b4760a2b28dbb11b9f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a8a0a0703b1a433b4760a2b28dbb11b9f">printAngles</a> (const <a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;angles)</td></tr>
<tr class="separator:a8a0a0703b1a433b4760a2b28dbb11b9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a6d65a4fc17e587508c48d003995ff9f6"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6d65a4fc17e587508c48d003995ff9f6"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a6d65a4fc17e587508c48d003995ff9f6">setCartesianControl</a> ()</td></tr>
<tr class="separator:a6d65a4fc17e587508c48d003995ff9f6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af87b3b0bb31e6de71243e0c097257a18"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#af87b3b0bb31e6de71243e0c097257a18">getCartesianCommand</a> (CartesianPosition &amp;cartesian_command)</td></tr>
<tr class="separator:af87b3b0bb31e6de71243e0c097257a18"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a227686b0fe18df7bfaaf8d007b2e113b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a227686b0fe18df7bfaaf8d007b2e113b">getCartesianPosition</a> (<a class="el" href="classkinova_1_1_kinova_pose.html">KinovaPose</a> &amp;position)</td></tr>
<tr class="separator:a227686b0fe18df7bfaaf8d007b2e113b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a33ba2e7bea81292a5b305dc64baf1b04"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a33ba2e7bea81292a5b305dc64baf1b04">setCartesianPosition</a> (const <a class="el" href="classkinova_1_1_kinova_pose.html">KinovaPose</a> &amp;position, int timeout=0, bool push=true)</td></tr>
<tr class="separator:a33ba2e7bea81292a5b305dc64baf1b04"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a346c9cd235ce3d55b7a6eb55eb9133ef"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a346c9cd235ce3d55b7a6eb55eb9133ef">setCartesianVelocities</a> (const CartesianInfo &amp;velocities)</td></tr>
<tr class="separator:a346c9cd235ce3d55b7a6eb55eb9133ef"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c18b78c5c47326a83742da023d8acf5"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a4c18b78c5c47326a83742da023d8acf5">getMaxTranslationVelocity</a> (void)</td></tr>
<tr class="separator:a4c18b78c5c47326a83742da023d8acf5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a40b0ab5609b7736893bed91dd3f922c6"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a40b0ab5609b7736893bed91dd3f922c6">setMaxTranslationVelocity</a> (const float &amp;max_trans_vel)</td></tr>
<tr class="separator:a40b0ab5609b7736893bed91dd3f922c6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9c575010a31e84f14baf525fcf1d1759"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a9c575010a31e84f14baf525fcf1d1759">getMaxOrientationVelocity</a> (void)</td></tr>
<tr class="separator:a9c575010a31e84f14baf525fcf1d1759"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3658e21c6e3c499a9c1f22e32ebb3772"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a3658e21c6e3c499a9c1f22e32ebb3772">setMaxOrientationVelocity</a> (const float &amp;max_orient_vel)</td></tr>
<tr class="separator:a3658e21c6e3c499a9c1f22e32ebb3772"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a162042d2e6fe01ef2528061f6b86c2db"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a162042d2e6fe01ef2528061f6b86c2db">getCartesianForce</a> (<a class="el" href="classkinova_1_1_kinova_pose.html">KinovaPose</a> &amp;position)</td></tr>
<tr class="separator:a162042d2e6fe01ef2528061f6b86c2db"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad7216609b2e8686ba90c3fa147e0daa5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ad7216609b2e8686ba90c3fa147e0daa5">setCartesianForceMinMax</a> (const CartesianInfo &amp;min, const CartesianInfo &amp;max)</td></tr>
<tr class="separator:ad7216609b2e8686ba90c3fa147e0daa5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab06ebf57cd94631d15467412e0b72c80"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ab06ebf57cd94631d15467412e0b72c80">setCartesianInertiaDamping</a> (const CartesianInfo &amp;inertia, const CartesianInfo &amp;damping)</td></tr>
<tr class="separator:ab06ebf57cd94631d15467412e0b72c80"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef64035c7b04fa7d15dd75b60f500861"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#aef64035c7b04fa7d15dd75b60f500861">printPosition</a> (const <a class="el" href="classkinova_1_1_kinova_pose.html">KinovaPose</a> &amp;position)</td></tr>
<tr class="separator:aef64035c7b04fa7d15dd75b60f500861"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a10f025b098d640a69075a83c74d9084d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a10f025b098d640a69075a83c74d9084d">getUserCommand</a> (UserPosition &amp;user_position)</td></tr>
<tr class="separator:a10f025b098d640a69075a83c74d9084d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2e6403814961a27f1f75c0591d78a285"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a2e6403814961a27f1f75c0591d78a285">getGlobalTrajectoryInfo</a> (TrajectoryFIFO &amp;trajectoryFIFO)</td></tr>
<tr class="separator:a2e6403814961a27f1f75c0591d78a285"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a76793e350e65e90d619b60db8602b290"><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a76793e350e65e90d619b60db8602b290"></a>
void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a76793e350e65e90d619b60db8602b290">eraseAllTrajectories</a> (void)</td></tr>
<tr class="separator:a76793e350e65e90d619b60db8602b290"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aec62e7da487b49e0a6351fcb9f226bde"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#aec62e7da487b49e0a6351fcb9f226bde">numFingers</a> () const </td></tr>
<tr class="separator:aec62e7da487b49e0a6351fcb9f226bde"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad65b7b0df6bdfc987346420baa1c32bf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ad65b7b0df6bdfc987346420baa1c32bf">getFingerPositions</a> (<a class="el" href="classkinova_1_1_finger_angles.html">FingerAngles</a> &amp;fingers)</td></tr>
<tr class="separator:ad65b7b0df6bdfc987346420baa1c32bf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab235b6800e8e8efaa458988a4e6f950a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ab235b6800e8e8efaa458988a4e6f950a">setFingerPositions</a> (const <a class="el" href="classkinova_1_1_finger_angles.html">FingerAngles</a> &amp;fingers, int timeout=0, bool push=true)</td></tr>
<tr class="separator:ab235b6800e8e8efaa458988a4e6f950a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7d9e91bac10299253482f4b4318de850"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a7d9e91bac10299253482f4b4318de850">printFingers</a> (const FingersPosition &amp;fingers)</td></tr>
<tr class="separator:a7d9e91bac10299253482f4b4318de850"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a75e9c38e8303f9989a39c67dc3cde72b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a75e9c38e8303f9989a39c67dc3cde72b">homeArm</a> (void)</td></tr>
<tr class="separator:a75e9c38e8303f9989a39c67dc3cde72b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac82fe58ca6589b0a8670a0c4b61f1bca"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ac82fe58ca6589b0a8670a0c4b61f1bca">isHomed</a> (void)</td></tr>
<tr class="separator:ac82fe58ca6589b0a8670a0c4b61f1bca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7c42a679d60a49e59b566f167ddfcf85"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a7c42a679d60a49e59b566f167ddfcf85">initFingers</a> (void)</td></tr>
<tr class="separator:a7c42a679d60a49e59b566f167ddfcf85"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a026578ded7ab226a2c393c5d3cf3ac4b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#a026578ded7ab226a2c393c5d3cf3ac4b">setEndEffectorOffset</a> (unsigned int status, float x, float y, float z)</td></tr>
<tr class="separator:a026578ded7ab226a2c393c5d3cf3ac4b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad73f6db7eb129afb778c0deb7b9547c3"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="classkinova_1_1_kinova_comm.html#ad73f6db7eb129afb778c0deb7b9547c3">getEndEffectorOffset</a> (unsigned int &amp;status, float &amp;x, float &amp;y, float &amp;z)</td></tr>
<tr class="separator:ad73f6db7eb129afb778c0deb7b9547c3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="ac6646ee050da0fdb997682549a147425"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kinova::KinovaComm::isStopped </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>check if API lost the control of robot. </p>
<dl class="section return"><dt>Returns</dt><dd>true if stopAPI() was called. </dd></dl>

</div>
</div>
<a class="anchor" id="a0ce3f14fd19836cdd81a23b801f7580d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::startForceControl </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function activates the reactive force control for admittance control. Admittance control may be applied to joint or Cartesian depending to the control mode. </p>
<dl class="section warning"><dt>Warning</dt><dd>You can only use this function if your robotic device has torque sensors on it. Also, the robotic device must be in a standard vertical position. </dd></dl>

</div>
</div>
<a class="anchor" id="ab26dcd22418a15ce913470fc36c65aaa"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int kinova::KinovaComm::robotType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get robotType Index for robot type: JACOV1_ASSISTIVE = 0, MICO_6DOF_SERVICE = 1, MICO_4DOF_SERVICE = 2, JACOV2_6DOF_SERVICE = 3, JACOV2_4DOF_SERVICE = 4, MICO_6DOF_ASSISTIVE = 5, JACOV2_6DOF_ASSISTIVE = 6, </p>
<dl class="section return"><dt>Returns</dt><dd>index of robot type </dd></dl>

</div>
</div>
<a class="anchor" id="ab03d8c09980af8baf1b4989f99060a64"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getQuickStatus </td>
          <td>(</td>
          <td class="paramtype">QuickStatus &amp;&#160;</td>
          <td class="paramname"><em>quick_status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function gets information regarding some status flag of the robotical arm. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">quick_status</td><td>This structure holds various informations but mostly it is flag status, such as robotype, retractType, forceControlStatus, </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a28827e27b664ab0bcecc7acfd67de728"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getConfig </td>
          <td>(</td>
          <td class="paramtype">ClientConfigurations &amp;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>obtain the current client configuration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>This structure holds informations relative to the client, including serial number, robot model, limits for position, velocity, acceleration and force, etc. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="abe6e19c315ba59ebbe4267ee3a55d79b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setConfig </td>
          <td>(</td>
          <td class="paramtype">const ClientConfigurations &amp;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function set the client configurations of the robotical arm. The configuration data is stored on the arm itself. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>config This structure holds informations relative to the client, including serial number, robot model, limits for position, velocity, acceleration and force, etc. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a05a987bc5391f9640342ccbbdb7e9f88"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::printConfig </td>
          <td>(</td>
          <td class="paramtype">const ClientConfigurations &amp;&#160;</td>
          <td class="paramname"><em>config</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dumps the client configuration onto the screen. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">config</td><td>This structure holds informations relative to the client, including serial number, robot model, limits for position, velocity, acceleration and force, etc. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ac1d8565f5df7e81e8eb32bacc2e21458"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getControlType </td>
          <td>(</td>
          <td class="paramtype">int &amp;&#160;</td>
          <td class="paramname"><em>controlType</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get current control type The control in ROS is independent to Joystick control type. For example: even set robot in joint control though api in ROS, robot may still controlled in joint level by joystick. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">controlType</td><td>Cartesian control[0] or joint control[1] </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a729dcea644c385f456e9450fca0c1f3d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getGeneralInformations </td>
          <td>(</td>
          <td class="paramtype">GeneralInformations &amp;&#160;</td>
          <td class="paramname"><em>general_info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>get almost all information of the robotical arm. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">general_info</td><td>includes: power statistics, sensor infos, robot position and command, etc. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af372b65b4fbbe6e18d0d001f0d5df352"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getSensorsInfo </td>
          <td>(</td>
          <td class="paramtype">SensorsInfo &amp;&#160;</td>
          <td class="paramname"><em>sensor_Info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns information about the robotical arm's sensors. (Voltage, Total current, Temperature, acceleration) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">The</td><td>structure containing the sensor's informations </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a5eda4e03b8005276d55ed18b8cf33ad8"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getForcesInfo </td>
          <td>(</td>
          <td class="paramtype">ForcesInfo &amp;&#160;</td>
          <td class="paramname"><em>force_Info</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function gets information regarding all forces. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">force_Info</td><td>A struct containing the information about the forces. Joint torque and end-effector wrench in Nm and N. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="afbc128356f963865f261aa3b89d2bdce"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getGripperStatus </td>
          <td>(</td>
          <td class="paramtype">Gripper &amp;&#160;</td>
          <td class="paramname"><em>gripper_status</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function gets informations about the robotical arm's gripper. Some information may be missing, it is still in development. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">gripper_status</td><td>A struct containing the information of the gripper. Most information of each fingers, including model, motion, force, limits, etc. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a157688ea643cd26f7dd3047dce670b37"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getAngularCommand </td>
          <td>(</td>
          <td class="paramtype">AngularPosition &amp;&#160;</td>
          <td class="paramname"><em>angular_command</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function get the angular command of all actuators. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">An</td><td>AngularPosition struct containing the values. Units are degrees. angular_command {AngularInfo, FingersPosition} </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>NO_ERROR_KINOVA if operation is a success</li>
<li>ERROR_API_NOT_INITIALIZED if the API has not been initialized. To initialize it, call the InitAPI() function. </li>
</ul>
</dd></dl>

</div>
</div>
<a class="anchor" id="aaa81bff314867c02f03ae1ab336ee900"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getJointAngles </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;&#160;</td>
          <td class="paramname"><em>angles</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the angular position of the robotical arm's end effector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">angles</td><td>A structure that contains the position of each actuator. Unit in degrees. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="adb803410fd256db8808e175f159f9d26"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setJointAngles </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;&#160;</td>
          <td class="paramname"><em>angles</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>push</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends a joint angle command to the Kinova arm. This function sends trajectory point(Angular) that will be added in the robotical arm's FIFO. Waits until the arm has stopped moving before releasing control of the API. sendAdvanceTrajectory() is called in api to complete the motion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">angles</td><td>target joint angle to set, type float, unit in degree </td></tr>
    <tr><td class="paramname">timeout</td><td>default value 0.0, not used. </td></tr>
    <tr><td class="paramname">push</td><td>default true, errase all trajectory before request motion.. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="acf0a1639b136680cc3a0f60151ef591d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getJointVelocities </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;&#160;</td>
          <td class="paramname"><em>vels</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function get the velocity of each actuator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">vels</td><td>A kinovaAngles structure contains joint velocity of each actuator. Unit in degrees/second. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ae3416267240f582bf27792f87570aea9"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setJointVelocities </td>
          <td>(</td>
          <td class="paramtype">const AngularInfo &amp;&#160;</td>
          <td class="paramname"><em>joint_vel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function controls robot with joint velocity. This function sends trajectory point(ANGULAR_VELOCITY) that will be added in the robotical arm's FIFO. Waits until the arm has stopped moving before releasing control of the API. sendAdvanceTrajectory() is called in api to complete the motion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">joint_vel</td><td>joint velocity in degree/second </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8fa09e78782a3c544f5b3e1147bfb32c"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getJointAccelerations </td>
          <td>(</td>
          <td class="paramtype">AngularAcceleration &amp;&#160;</td>
          <td class="paramname"><em>joint_acc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function get the accelerometer values of each actuator. It does not directly refer to the angular acceleration. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">joint_acc</td><td>An AngularAcceleration struct containing the values. Units are in G </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3b8024e556478860b32805c8b9919228"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getJointTorques </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;&#160;</td>
          <td class="paramname"><em>tqs</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the torque of each actuator. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">tqs</td><td>A structure that contains the torque of each actuator. Unit is Newton * meter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a882f0f7fd5823f49d563129deba613ea"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getJointCurrent </td>
          <td>(</td>
          <td class="paramtype">AngularPosition &amp;&#160;</td>
          <td class="paramname"><em>anguler_current</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the current that each actuator consume on the main supply. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">anguler_current</td><td>A structure that contains the current of each actuator and finger. Unit in A. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aba0b79eaa95462aa18cdf862d57f39d2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setJointTorqueMinMax </td>
          <td>(</td>
          <td class="paramtype">AngularInfo &amp;&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">AngularInfo &amp;&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function set the angular torque's maximum and minimum values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">min</td><td>A struct that contains all angular minimum values. (Unit: N * m) </td></tr>
    <tr><td class="paramname">max</td><td>6 A struct that contains all angular max values. (Unit: N * m) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a8a0a0703b1a433b4760a2b28dbb11b9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::printAngles </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkinova_1_1_kinova_angles.html">KinovaAngles</a> &amp;&#160;</td>
          <td class="paramname"><em>angles</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dumps the current joint angles onto the screen. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">angles</td><td>A structure contains six joint angles. Unit in degrees </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af87b3b0bb31e6de71243e0c097257a18"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getCartesianCommand </td>
          <td>(</td>
          <td class="paramtype">CartesianPosition &amp;&#160;</td>
          <td class="paramname"><em>cartesian_command</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function get the cartesian command of the end effector. The Cartesian orientation is expressed in Euler-ZYX convention, so that tf::Matrix3x3 EulerYPR = Rz(tz)*Ry(ty)*Rx(tx) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cartesian_command</td><td>An CartesianPosition struct containing the values of end-effector and fingers.</td></tr>
  </table>
  </dd>
</dl>
<p> 

<table border="0" cellspacing="10">
<tr>
<th>Member</th>
<th>Unit</th>
</tr>
<tr><td width="50">X</td><td>meter</td></tr>
<tr><td>Y</td><td>meter</td></tsr>
<tr><td>Z</td><td>meter</td></tr>
<tr><td>Theta X</td><td>RAD</td></tr>
<tr><td>Theta Y</td><td>RAD</td></tr>
<tr><td>Theta Z</td><td>RAD</td></tr>
<tr><td>Finger 1</td><td>No unit</td></tr>
<tr><td>Finger 2</td><td>No unit</td></tr>
<tr><td>Finger 3</td><td>No unit</td></tr>
</table>

 </p>

</div>
</div>
<a class="anchor" id="a227686b0fe18df7bfaaf8d007b2e113b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getCartesianPosition </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkinova_1_1_kinova_pose.html">KinovaPose</a> &amp;&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the cartesian position of the robotical arm's end effector. In KinovaPose, orientation is expressed in Euler-ZYX convention, so that tf::Matrix3x3 EulerYPR = Rz(tz)*Ry(ty)*Rx(tx) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>pose in [X,Y,Z,ThetaX,ThetaY,ThetaZ] form, Units in meters and radians. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a33ba2e7bea81292a5b305dc64baf1b04"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setCartesianPosition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkinova_1_1_kinova_pose.html">KinovaPose</a> &amp;&#160;</td>
          <td class="paramname"><em>pose</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>push</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Sends a cartesian coordinate trajectory to the Kinova arm. This function sends trajectory point(Cartesian) that will be added in the robotical arm's FIFO. Waits until the arm has stopped moving before releasing control of the API. sendBasicTrajectory() is called in api to complete the motion. In KinovaPose, orientation is expressed in Euler-ZYX convention, so that tf::Matrix3x3 EulerYPR = Rz(tz)*Ry(ty)*Rx(tx) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">pose</td><td>target pose of robot [X,Y,Z, ThetaX, ThetaY, ThetaZ], unit in meter and radians. </td></tr>
    <tr><td class="paramname">timeout</td><td>default 0.0, not used. </td></tr>
    <tr><td class="paramname">push</td><td>default true, errase all trajectory before request motion.. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a346c9cd235ce3d55b7a6eb55eb9133ef"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setCartesianVelocities </td>
          <td>(</td>
          <td class="paramtype">const CartesianInfo &amp;&#160;</td>
          <td class="paramname"><em>velocities</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Linear and angular velocity control in Cartesian space This function sends trajectory point(CARTESIAN_VELOCITY) that will be added in the robotical arm's FIFO. Waits until the arm has stopped moving before releasing control of the API. sendAdvanceTrajectory() is called in api to complete the motion. Definition of angular velocity "Omega" is based on the skew-symmetric matrices "S = R*R^(-1)", where "R" is the rotation matrix. angular velocity vector "Omega = [S(3,2); S(1,3); S(2,1)]". </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">velocities</td><td>unit are meter/second for linear velocity and radians/second for "Omega". </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a4c18b78c5c47326a83742da023d8acf5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float kinova::KinovaComm::getMaxTranslationVelocity </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the max translation(X, Y and Z) velocity of the robot's end effector in ClientConfigurations. </p>
<dl class="section return"><dt>Returns</dt><dd>MaxTranslationVelocity Unit in meter per second </dd></dl>

</div>
</div>
<a class="anchor" id="a40b0ab5609b7736893bed91dd3f922c6"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setMaxTranslationVelocity </td>
          <td>(</td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>max_trans_vel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function set the max translation(X, Y and Z) velocity of the robot's end effector in ClientConfigurations. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">max_trans_vel</td><td>Unit in meter per second </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a9c575010a31e84f14baf525fcf1d1759"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float kinova::KinovaComm::getMaxOrientationVelocity </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function get max orientation(ThetaX, ThetaY and ThetaZ) velocity of the robot's end effector. Definition of angular velocity "Omega" is based on the skew-symmetric matrices "S = R*R^(-1)", where "R" is the rotation matrix. angular velocity vector "Omega = [S(3,2); S(1,3); S(2,1)]". </p>
<dl class="section return"><dt>Returns</dt><dd>Unit in rad/second </dd></dl>

</div>
</div>
<a class="anchor" id="a3658e21c6e3c499a9c1f22e32ebb3772"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setMaxOrientationVelocity </td>
          <td>(</td>
          <td class="paramtype">const float &amp;&#160;</td>
          <td class="paramname"><em>max_orient_vel</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function set max orientation(ThetaX, ThetaY and ThetaZ) velocity of the robot's end effector. Definition of angular velocity "Omega" is based on the skew-symmetric matrices "S = R*R^(-1)", where "R" is the rotation matrix. angular velocity vector "Omega = [S(3,2); S(1,3); S(2,1)]". </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">max_orient_vel</td><td>Unit in rad/second </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a162042d2e6fe01ef2528061f6b86c2db"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getCartesianForce </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkinova_1_1_kinova_pose.html">KinovaPose</a> &amp;&#160;</td>
          <td class="paramname"><em>cart_force</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns the cartesian wrench at the robotical arm's end effector. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">cart_force</td><td>A structure that contains the wrench vector at the end effector. Unit in N and N * m. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad7216609b2e8686ba90c3fa147e0daa5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setCartesianForceMinMax </td>
          <td>(</td>
          <td class="paramtype">const CartesianInfo &amp;&#160;</td>
          <td class="paramname"><em>min</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CartesianInfo &amp;&#160;</td>
          <td class="paramname"><em>max</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function set the Cartesian force's maximum and minimum values. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">min</td><td>A struct that contains all Cartesian minimum values. (Translation unit: N Orientation unit: N * m) </td></tr>
    <tr><td class="paramname">max</td><td>A struct that contains all Cartesian maximum values. (Translation unit: N Orientation unit: N * m) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab06ebf57cd94631d15467412e0b72c80"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setCartesianInertiaDamping </td>
          <td>(</td>
          <td class="paramtype">const CartesianInfo &amp;&#160;</td>
          <td class="paramname"><em>inertia</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const CartesianInfo &amp;&#160;</td>
          <td class="paramname"><em>damping</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function set the Cartesian inertia and damping value. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">inertia</td><td>A struct that contains all Cartesian inertia values. (Translation unit: Kg, Orientation unit: Kg * m^2) </td></tr>
    <tr><td class="paramname">damping</td><td>A struct that contains all Cartesian damping values. (Translation unit: (N * s) / m, Orientation unit: (N * s) / RAD) </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aef64035c7b04fa7d15dd75b60f500861"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::printPosition </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkinova_1_1_kinova_pose.html">KinovaPose</a> &amp;&#160;</td>
          <td class="paramname"><em>position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dumps the current cartesian pose onto the screen. In KinovaPose, orientation is expressed in Euler-ZYX convention, so that tf::Matrix3x3 EulerYPR = Rz(tz)*Ry(ty)*Rx(tx) </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">position</td><td>in [X,Y,Z,ThetaX,ThetaY,ThetaZ], where orientation is using Euler-ZYX convention. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a10f025b098d640a69075a83c74d9084d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getUserCommand </td>
          <td>(</td>
          <td class="paramtype">UserPosition &amp;&#160;</td>
          <td class="paramname"><em>user_position</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function extract the UserPosition from trajectory. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">user_position</td><td>contains POSITION_TYPE(Angular/Cartesian position/velocity, etc), CartesianInfo and AngularInfo, finger positions etc. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a2e6403814961a27f1f75c0591d78a285"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getGlobalTrajectoryInfo </td>
          <td>(</td>
          <td class="paramtype">TrajectoryFIFO &amp;&#160;</td>
          <td class="paramname"><em>trajectoryFIFO</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function returns informations about the trajectories FIFO stored inside the robotical arm. Detail of trajectory point is not stored in trajectoryFIFO. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">trajectoryFIFO</td><td>The structure containing the FIFO's informations: {TrajectoryCount; UsedPercentage; MaxSize}. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="aec62e7da487b49e0a6351fcb9f226bde"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int kinova::KinovaComm::numFingers </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function get number of fingers. number of fingers determined by robotType. 3 fingers for robotType(0,3,4,6) and 2 fingers for robotType(1,2,5) </p>
<dl class="section return"><dt>Returns</dt><dd>returns number of fingers. </dd></dl>

</div>
</div>
<a class="anchor" id="ad65b7b0df6bdfc987346420baa1c32bf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getFingerPositions </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="classkinova_1_1_finger_angles.html">FingerAngles</a> &amp;&#160;</td>
          <td class="paramname"><em>fingers</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function obtain the joint position of fingers. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fingers</td><td>in degrees, range from 0 to 6800 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ab235b6800e8e8efaa458988a4e6f950a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setFingerPositions </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="classkinova_1_1_finger_angles.html">FingerAngles</a> &amp;&#160;</td>
          <td class="paramname"><em>fingers</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>timeout</em> = <code>0</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>push</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function sets the finger positions The new finger position, combined with current joint values are constructed as a trajectory point. sendAdvancedTrajectory() is called in api to complete the motion. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fingers</td><td>in degrees from 0 to about 6800 </td></tr>
    <tr><td class="paramname">timeout</td><td>timeout default 0.0, not used. </td></tr>
    <tr><td class="paramname">push</td><td>default true, errase all trajectory before request motion. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a7d9e91bac10299253482f4b4318de850"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::printFingers </td>
          <td>(</td>
          <td class="paramtype">const FingersPosition &amp;&#160;</td>
          <td class="paramname"><em>fingers</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Dumps the current finger agnles onto the screen. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fingers</td><td>Unit in degrees 0 to 6800 </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a75e9c38e8303f9989a39c67dc3cde72b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::homeArm </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function move the arm to the "home" position. The code replicates the function of the "home" button on the user controller by "pressing" the home button long enough for the arm to return to the home position. </p>
<dl class="section warning"><dt>Warning</dt><dd>The home position is the default home, rather than user defined home. </dd></dl>

</div>
</div>
<a class="anchor" id="ac82fe58ca6589b0a8670a0c4b61f1bca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool kinova::KinovaComm::isHomed </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determines whether the arm has returned to its "Home" state. Checks the current joint angles, then compares them to the known "Home" joint angles. </p>
<dl class="section return"><dt>Returns</dt><dd>true is robot is already in predefined "Home"configuration. </dd></dl>
<dl class="section warning"><dt>Warning</dt><dd>The home position is the default home, rather than user defined home. </dd></dl>

</div>
</div>
<a class="anchor" id="a7c42a679d60a49e59b566f167ddfcf85"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::initFingers </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes the fingers of the robotical arm. After the initialization, the robotical arm is in angular control mode. If you want to use the cartesian control mode, use the function setCartesianControl(). Move fingers to the full-open position to initialize them for use. </p>
<dl class="section warning"><dt>Warning</dt><dd>This routine requires firmware version 5.05.x (or higher). </dd></dl>

</div>
</div>
<a class="anchor" id="a026578ded7ab226a2c393c5d3cf3ac4b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::setEndEffectorOffset </td>
          <td>(</td>
          <td class="paramtype">unsigned int&#160;</td>
          <td class="paramname"><em>status</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function Set the end effector offset's parameters. The end effector's offset is a translation offset applied to the end effector of the robotic arm. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>indicates if the offset is applied or not (0 = not applied, 1 = applied) </td></tr>
    <tr><td class="paramname">x</td><td>Unit in meter </td></tr>
    <tr><td class="paramname">y</td><td>Unit in meter </td></tr>
    <tr><td class="paramname">z</td><td>Unit in meter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="ad73f6db7eb129afb778c0deb7b9547c3"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void kinova::KinovaComm::getEndEffectorOffset </td>
          <td>(</td>
          <td class="paramtype">unsigned int &amp;&#160;</td>
          <td class="paramname"><em>status</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float &amp;&#160;</td>
          <td class="paramname"><em>z</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function get the end effector offset's parameters. The end effector's offset is a translation offset applied to the end effector of the robotic arm. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">status</td><td>indicates if the offset is applied or not (0 = not applied, 1 = applied) </td></tr>
    <tr><td class="paramname">x</td><td>Unit in meter </td></tr>
    <tr><td class="paramname">y</td><td>Unit in meter </td></tr>
    <tr><td class="paramname">z</td><td>Unit in meter </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.11
</small></address>
</body>
</html>
